PrimeTile: A Parametric Multi-Level Tiler for Imperfect Loop Nests

نویسندگان

  • Albert Hartono
  • Muthu Manikandan Baskaran
  • Cédric Bastoul
  • Albert Cohen
  • Sriram Krishnamoorthy
  • Boyana Norris
  • J. Ramanujam
  • P. Sadayappan
چکیده

Tiling is a crucial loop transformation for generating high performance code on modern architectures. Efficient generation of multi-level tiled code is essential for maximizing data reuse in systems with deep memory hierarchies. Tiled loops with parametric tile sizes (not compile-time constants) facilitate runtime feedback and dynamic optimizations used in iterative compilation and automatic tuning. Previous parametric multi-level tiling approaches have been restricted to perfectly nested loops, where all assignment statements are contained inside the innermost loop of a loop nest. Previous solutions to tiling for imperfect loop nests have only handled fixed tile sizes. In this paper, we present an approach to parametric multi-level tiling of imperfectly nested loops. The tiling technique generates loops that iterate over full rectangular tiles, making them amenable to compiler optimizations such as register tiling. Experimental results using a number of computational benchmarks demonstrate the effectiveness of the developed tiling approach.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Tools for Performance Optimizations and Tuning of Affine Loop Nests

Multicore processors have become mainstream and the number of cores in a chip will continue to increase every year. Programming these architectures to effectively exploit their very high computation power is a non trivial task. First, an application program needs to be explicitly restructured using a set of code transformation techniques to optimize for specific architectural features, especial...

متن کامل

Affine-by-Statement Transformations of Imperfectly Nested Loops

A majority of loop restructuring techniques developed so far assume that loops are perfectly nested. The unimodular approach unifies three individual transformations – loop interchange, skewing and reversal – but is still limited to perfect loop nests. This paper outlines a framework that enables the use of unimodular transformations to restructure imperfect loop nests. The concepts previously ...

متن کامل

Increasing Perfect Nests in Scientific Programs

Loop optimizations for data locality often require perfect loop nests. In this paper, we report on the extent to which perfect nests are present in 23 applications from 4 standard benchmark suites. Further, we evaluate the effectiveness of 3 transformations for converting imperfect nests into perfect ones: code sinking loop distribution and loop fusion. We find that on average, perfect nests co...

متن کامل

Tight Timing Estimation With the Newton-Gregory Formulae∗

Parametric worst-case execution time (WCET) bounds are critical in removing restrictions, such as known loop bounds, on algorithms for important applications such as scheduling for real-time embedded systems. Current parametric approaches have difficulties with loop nests that include non-rectangular loops, zero-trip loops, and/or loops with non-unit strides. This paper presents a novel approac...

متن کامل

Functional Validation of System - level Loop Transformations

This paper presents new results for formal validation of system-level loop transformations in the context of power eecient caching. Our main target domain consists of data-dominated applications in the multi-media area, dealing with complex loop nests containing composite data types like (multi-dimensional) arrays and lists. Global transformations applied on such loop nests cannot be formally v...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2009